package com.orangeforms.webadmin.upms.model;

import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.orangeforms.common.core.annotation.UploadFlagColumn;
import com.orangeforms.common.core.base.model.BaseModel;
import com.orangeforms.common.core.upload.UploadStoreTypeEnum;
import lombok.Data;
import lombok.EqualsAndHashCode;

import java.util.Date;

/**
 * @Author：howlrou
 * @Date：2024/8/2 14:06
 */
@Data
@EqualsAndHashCode(callSuper = true)
@TableName(value = "zz_business_collection")
public class BusinessCollection extends BaseModel {
    private static final long serialVersionUID = 1L;

    /**
     * 主键id
     */
    @TableId(value = "collection_id", type = IdType.AUTO)
    private Long collectionId;

    /**
     * 藏品名称
     */
    @TableField(value = "name")
    private String name;

    /**
     * 藏品封面
     */
    @TableField(value = "cover")
    @UploadFlagColumn(storeType = UploadStoreTypeEnum.LOCAL_SYSTEM)
    private String cover;

    /**
     * 入馆号
     */
    @TableField(value = "enter_id")
    private String enterId;

    /**
     * 总登记号
     */
    @TableField(value = "register_id")
    private String registerId;

    /**
     * 文物级别
     */
    @TableField(value = "collection_level")
    private String collectionLevel;

    /**
     * 文物年代
     */
    @TableField(value = "era")
    private String era;

    /**
     * 文物类别
     */
    @TableField(value = "type")
    private String type;

    /**
     * 质地
     */
    @TableField(value = "texture")
    private String texture;

    /**
     * 数量
     */
    @TableField(value = "quantity")
    private Integer quantity;

    /**
     * 通长
     */
    @TableField(value = "length")
    private Integer length;

    /**
     * 通宽
     */
    @TableField(value = "width")
    private Integer width;

    /**
     * 通高
     */
    @TableField(value = "height")
    private Integer height;

    /**
     * 尺寸单位
     */
    @TableField(value = "dimension_unit")
    private String dimensionUnit;

    /**
     * 具体尺寸
     */
    @TableField(value = "specific_dimension")
    private String specificDimension;

    /**
     * 具体质量
     */
    @TableField(value = "specific_quality")
    private Integer specificQuality;

    /**
     * 质量单位
     */
    @TableField(value = "quality_unit")
    private String qualityUnit;

    /**
     * 来源
     */
    @TableField(value = "source")
    private String source;

    /**
     * 入藏年度
     */
    @JsonFormat(pattern = "yyyy")
    @TableField(value = "acquisition_year")
    private Integer acquisitionYear;

    /**
     * 完残程度
     */
    @TableField(value = "completion_degree")
    private String completionDegree;

    /**
     * 完残状况
     */
    @TableField(value = "completion_state")
    private String completionState;

    /**
     * 保存状态
     */
    @TableField(value = "preservation_state")
    private String preservationState;
}
